package com.wysql.ascost.model.info;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import cn.hutool.core.util.StrUtil;

/**
 * 协议库存信息查询--明细 InfoContractstoreDtlExample
 *
 * @author wysqlauto_自动生成
 * @date 2025-03-11 10:00:29
 */
public class InfoContractstoreDtlExample {

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public InfoContractstoreDtlExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }


        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }


        public Criteria andMainidIsNull() {
            addCriterion("mainid is null");
            return (Criteria) this;
        }

        public Criteria andMainidIsNotNull() {
            addCriterion("mainid is not null");
            return (Criteria) this;
        }

        public Criteria andMainidEqualTo(String value) {
            addCriterion("mainid =", value, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidNotEqualTo(String value) {
            addCriterion("mainid <>", value, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidGreaterThan(String value) {
            addCriterion("mainid >", value, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidGreaterThanOrEqualTo(String value) {
            addCriterion("mainid >=", value, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidLessThan(String value) {
            addCriterion("mainid <", value, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidLessThanOrEqualTo(String value) {
            addCriterion("mainid <=", value, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidLike(String value) {
            addCriterion("mainid like", value, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidNotLike(String value) {
            addCriterion("mainid not like", value, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidIn(List<String> values) {
            addCriterion("mainid in", values, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidNotIn(List<String> values) {
            addCriterion("mainid not in", values, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidBetween(String value1, String value2) {
            addCriterion("mainid between", value1, value2, "mainid");
            return (Criteria) this;
        }

        public Criteria andMainidNotBetween(String value1, String value2) {
            addCriterion("mainid not between", value1, value2, "mainid");
            return (Criteria) this;
        }


        public Criteria andCreattimeIsNull() {
            addCriterion("creattime is null");
            return (Criteria) this;
        }

        public Criteria andCreattimeIsNotNull() {
            addCriterion("creattime is not null");
            return (Criteria) this;
        }

        public Criteria andCreattimeEqualTo(Date value) {
            addCriterion("creattime =", value, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeNotEqualTo(Date value) {
            addCriterion("creattime <>", value, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeGreaterThan(Date value) {
            addCriterion("creattime >", value, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeGreaterThanOrEqualTo(Date value) {
            addCriterion("creattime >=", value, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeLessThan(Date value) {
            addCriterion("creattime <", value, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeLessThanOrEqualTo(Date value) {
            addCriterion("creattime <=", value, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeLike(Date value) {
            addCriterion("creattime like", value, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeNotLike(Date value) {
            addCriterion("creattime not like", value, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeIn(List<Date> values) {
            addCriterion("creattime in", values, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeNotIn(List<Date> values) {
            addCriterion("creattime not in", values, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeBetween(Date value1, Date value2) {
            addCriterion("creattime between", value1, value2, "creattime");
            return (Criteria) this;
        }

        public Criteria andCreattimeNotBetween(Date value1, Date value2) {
            addCriterion("creattime not between", value1, value2, "creattime");
            return (Criteria) this;
        }


        public Criteria andUpdatetimeIsNull() {
            addCriterion("updatetime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("updatetime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("updatetime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("updatetime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("updatetime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updatetime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("updatetime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("updatetime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLike(Date value) {
            addCriterion("updatetime like", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotLike(Date value) {
            addCriterion("updatetime not like", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("updatetime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("updatetime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("updatetime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("updatetime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }


        public Criteria andMemoIsNull() {
            addCriterion("memo is null");
            return (Criteria) this;
        }

        public Criteria andMemoIsNotNull() {
            addCriterion("memo is not null");
            return (Criteria) this;
        }

        public Criteria andMemoEqualTo(String value) {
            addCriterion("memo =", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotEqualTo(String value) {
            addCriterion("memo <>", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThan(String value) {
            addCriterion("memo >", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThanOrEqualTo(String value) {
            addCriterion("memo >=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThan(String value) {
            addCriterion("memo <", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThanOrEqualTo(String value) {
            addCriterion("memo <=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLike(String value) {
            addCriterion("memo like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotLike(String value) {
            addCriterion("memo not like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoIn(List<String> values) {
            addCriterion("memo in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotIn(List<String> values) {
            addCriterion("memo not in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoBetween(String value1, String value2) {
            addCriterion("memo between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotBetween(String value1, String value2) {
            addCriterion("memo not between", value1, value2, "memo");
            return (Criteria) this;
        }


        public Criteria andMatnumIsNull() {
            addCriterion("matnum is null");
            return (Criteria) this;
        }

        public Criteria andMatnumIsNotNull() {
            addCriterion("matnum is not null");
            return (Criteria) this;
        }

        public Criteria andMatnumEqualTo(String value) {
            addCriterion("matnum =", value, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumNotEqualTo(String value) {
            addCriterion("matnum <>", value, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumGreaterThan(String value) {
            addCriterion("matnum >", value, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumGreaterThanOrEqualTo(String value) {
            addCriterion("matnum >=", value, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumLessThan(String value) {
            addCriterion("matnum <", value, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumLessThanOrEqualTo(String value) {
            addCriterion("matnum <=", value, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumLike(String value) {
            addCriterion("matnum like", value, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumNotLike(String value) {
            addCriterion("matnum not like", value, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumIn(List<String> values) {
            addCriterion("matnum in", values, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumNotIn(List<String> values) {
            addCriterion("matnum not in", values, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumBetween(String value1, String value2) {
            addCriterion("matnum between", value1, value2, "matnum");
            return (Criteria) this;
        }

        public Criteria andMatnumNotBetween(String value1, String value2) {
            addCriterion("matnum not between", value1, value2, "matnum");
            return (Criteria) this;
        }


        public Criteria andMatnameIsNull() {
            addCriterion("matname is null");
            return (Criteria) this;
        }

        public Criteria andMatnameIsNotNull() {
            addCriterion("matname is not null");
            return (Criteria) this;
        }

        public Criteria andMatnameEqualTo(String value) {
            addCriterion("matname =", value, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameNotEqualTo(String value) {
            addCriterion("matname <>", value, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameGreaterThan(String value) {
            addCriterion("matname >", value, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameGreaterThanOrEqualTo(String value) {
            addCriterion("matname >=", value, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameLessThan(String value) {
            addCriterion("matname <", value, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameLessThanOrEqualTo(String value) {
            addCriterion("matname <=", value, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameLike(String value) {
            addCriterion("matname like", value, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameNotLike(String value) {
            addCriterion("matname not like", value, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameIn(List<String> values) {
            addCriterion("matname in", values, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameNotIn(List<String> values) {
            addCriterion("matname not in", values, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameBetween(String value1, String value2) {
            addCriterion("matname between", value1, value2, "matname");
            return (Criteria) this;
        }

        public Criteria andMatnameNotBetween(String value1, String value2) {
            addCriterion("matname not between", value1, value2, "matname");
            return (Criteria) this;
        }


        public Criteria andMatunitIsNull() {
            addCriterion("matunit is null");
            return (Criteria) this;
        }

        public Criteria andMatunitIsNotNull() {
            addCriterion("matunit is not null");
            return (Criteria) this;
        }

        public Criteria andMatunitEqualTo(String value) {
            addCriterion("matunit =", value, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitNotEqualTo(String value) {
            addCriterion("matunit <>", value, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitGreaterThan(String value) {
            addCriterion("matunit >", value, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitGreaterThanOrEqualTo(String value) {
            addCriterion("matunit >=", value, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitLessThan(String value) {
            addCriterion("matunit <", value, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitLessThanOrEqualTo(String value) {
            addCriterion("matunit <=", value, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitLike(String value) {
            addCriterion("matunit like", value, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitNotLike(String value) {
            addCriterion("matunit not like", value, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitIn(List<String> values) {
            addCriterion("matunit in", values, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitNotIn(List<String> values) {
            addCriterion("matunit not in", values, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitBetween(String value1, String value2) {
            addCriterion("matunit between", value1, value2, "matunit");
            return (Criteria) this;
        }

        public Criteria andMatunitNotBetween(String value1, String value2) {
            addCriterion("matunit not between", value1, value2, "matunit");
            return (Criteria) this;
        }


        public Criteria andTechidIsNull() {
            addCriterion("techid is null");
            return (Criteria) this;
        }

        public Criteria andTechidIsNotNull() {
            addCriterion("techid is not null");
            return (Criteria) this;
        }

        public Criteria andTechidEqualTo(String value) {
            addCriterion("techid =", value, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidNotEqualTo(String value) {
            addCriterion("techid <>", value, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidGreaterThan(String value) {
            addCriterion("techid >", value, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidGreaterThanOrEqualTo(String value) {
            addCriterion("techid >=", value, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidLessThan(String value) {
            addCriterion("techid <", value, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidLessThanOrEqualTo(String value) {
            addCriterion("techid <=", value, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidLike(String value) {
            addCriterion("techid like", value, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidNotLike(String value) {
            addCriterion("techid not like", value, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidIn(List<String> values) {
            addCriterion("techid in", values, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidNotIn(List<String> values) {
            addCriterion("techid not in", values, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidBetween(String value1, String value2) {
            addCriterion("techid between", value1, value2, "techid");
            return (Criteria) this;
        }

        public Criteria andTechidNotBetween(String value1, String value2) {
            addCriterion("techid not between", value1, value2, "techid");
            return (Criteria) this;
        }


        public Criteria andDtlmemoIsNull() {
            addCriterion("dtlmemo is null");
            return (Criteria) this;
        }

        public Criteria andDtlmemoIsNotNull() {
            addCriterion("dtlmemo is not null");
            return (Criteria) this;
        }

        public Criteria andDtlmemoEqualTo(String value) {
            addCriterion("dtlmemo =", value, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoNotEqualTo(String value) {
            addCriterion("dtlmemo <>", value, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoGreaterThan(String value) {
            addCriterion("dtlmemo >", value, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoGreaterThanOrEqualTo(String value) {
            addCriterion("dtlmemo >=", value, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoLessThan(String value) {
            addCriterion("dtlmemo <", value, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoLessThanOrEqualTo(String value) {
            addCriterion("dtlmemo <=", value, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoLike(String value) {
            addCriterion("dtlmemo like", value, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoNotLike(String value) {
            addCriterion("dtlmemo not like", value, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoIn(List<String> values) {
            addCriterion("dtlmemo in", values, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoNotIn(List<String> values) {
            addCriterion("dtlmemo not in", values, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoBetween(String value1, String value2) {
            addCriterion("dtlmemo between", value1, value2, "dtlmemo");
            return (Criteria) this;
        }

        public Criteria andDtlmemoNotBetween(String value1, String value2) {
            addCriterion("dtlmemo not between", value1, value2, "dtlmemo");
            return (Criteria) this;
        }


        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLike(BigDecimal value) {
            addCriterion("price like", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotLike(BigDecimal value) {
            addCriterion("price not like", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }


        public Criteria andPartmemoIsNull() {
            addCriterion("partmemo is null");
            return (Criteria) this;
        }

        public Criteria andPartmemoIsNotNull() {
            addCriterion("partmemo is not null");
            return (Criteria) this;
        }

        public Criteria andPartmemoEqualTo(String value) {
            addCriterion("partmemo =", value, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoNotEqualTo(String value) {
            addCriterion("partmemo <>", value, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoGreaterThan(String value) {
            addCriterion("partmemo >", value, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoGreaterThanOrEqualTo(String value) {
            addCriterion("partmemo >=", value, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoLessThan(String value) {
            addCriterion("partmemo <", value, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoLessThanOrEqualTo(String value) {
            addCriterion("partmemo <=", value, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoLike(String value) {
            addCriterion("partmemo like", value, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoNotLike(String value) {
            addCriterion("partmemo not like", value, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoIn(List<String> values) {
            addCriterion("partmemo in", values, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoNotIn(List<String> values) {
            addCriterion("partmemo not in", values, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoBetween(String value1, String value2) {
            addCriterion("partmemo between", value1, value2, "partmemo");
            return (Criteria) this;
        }

        public Criteria andPartmemoNotBetween(String value1, String value2) {
            addCriterion("partmemo not between", value1, value2, "partmemo");
            return (Criteria) this;
        }


        public Criteria andMattype1IsNull() {
            addCriterion("mattype1 is null");
            return (Criteria) this;
        }

        public Criteria andMattype1IsNotNull() {
            addCriterion("mattype1 is not null");
            return (Criteria) this;
        }

        public Criteria andMattype1EqualTo(String value) {
            addCriterion("mattype1 =", value, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1NotEqualTo(String value) {
            addCriterion("mattype1 <>", value, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1GreaterThan(String value) {
            addCriterion("mattype1 >", value, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1GreaterThanOrEqualTo(String value) {
            addCriterion("mattype1 >=", value, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1LessThan(String value) {
            addCriterion("mattype1 <", value, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1LessThanOrEqualTo(String value) {
            addCriterion("mattype1 <=", value, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1Like(String value) {
            addCriterion("mattype1 like", value, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1NotLike(String value) {
            addCriterion("mattype1 not like", value, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1In(List<String> values) {
            addCriterion("mattype1 in", values, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1NotIn(List<String> values) {
            addCriterion("mattype1 not in", values, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1Between(String value1, String value2) {
            addCriterion("mattype1 between", value1, value2, "mattype1");
            return (Criteria) this;
        }

        public Criteria andMattype1NotBetween(String value1, String value2) {
            addCriterion("mattype1 not between", value1, value2, "mattype1");
            return (Criteria) this;
        }


        public Criteria andMattype2IsNull() {
            addCriterion("mattype2 is null");
            return (Criteria) this;
        }

        public Criteria andMattype2IsNotNull() {
            addCriterion("mattype2 is not null");
            return (Criteria) this;
        }

        public Criteria andMattype2EqualTo(String value) {
            addCriterion("mattype2 =", value, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2NotEqualTo(String value) {
            addCriterion("mattype2 <>", value, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2GreaterThan(String value) {
            addCriterion("mattype2 >", value, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2GreaterThanOrEqualTo(String value) {
            addCriterion("mattype2 >=", value, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2LessThan(String value) {
            addCriterion("mattype2 <", value, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2LessThanOrEqualTo(String value) {
            addCriterion("mattype2 <=", value, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2Like(String value) {
            addCriterion("mattype2 like", value, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2NotLike(String value) {
            addCriterion("mattype2 not like", value, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2In(List<String> values) {
            addCriterion("mattype2 in", values, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2NotIn(List<String> values) {
            addCriterion("mattype2 not in", values, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2Between(String value1, String value2) {
            addCriterion("mattype2 between", value1, value2, "mattype2");
            return (Criteria) this;
        }

        public Criteria andMattype2NotBetween(String value1, String value2) {
            addCriterion("mattype2 not between", value1, value2, "mattype2");
            return (Criteria) this;
        }


        public Criteria andMattype3IsNull() {
            addCriterion("mattype3 is null");
            return (Criteria) this;
        }

        public Criteria andMattype3IsNotNull() {
            addCriterion("mattype3 is not null");
            return (Criteria) this;
        }

        public Criteria andMattype3EqualTo(String value) {
            addCriterion("mattype3 =", value, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3NotEqualTo(String value) {
            addCriterion("mattype3 <>", value, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3GreaterThan(String value) {
            addCriterion("mattype3 >", value, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3GreaterThanOrEqualTo(String value) {
            addCriterion("mattype3 >=", value, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3LessThan(String value) {
            addCriterion("mattype3 <", value, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3LessThanOrEqualTo(String value) {
            addCriterion("mattype3 <=", value, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3Like(String value) {
            addCriterion("mattype3 like", value, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3NotLike(String value) {
            addCriterion("mattype3 not like", value, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3In(List<String> values) {
            addCriterion("mattype3 in", values, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3NotIn(List<String> values) {
            addCriterion("mattype3 not in", values, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3Between(String value1, String value2) {
            addCriterion("mattype3 between", value1, value2, "mattype3");
            return (Criteria) this;
        }

        public Criteria andMattype3NotBetween(String value1, String value2) {
            addCriterion("mattype3 not between", value1, value2, "mattype3");
            return (Criteria) this;
        }


        public Criteria andTargetnumIsNull() {
            addCriterion("targetnum is null");
            return (Criteria) this;
        }

        public Criteria andTargetnumIsNotNull() {
            addCriterion("targetnum is not null");
            return (Criteria) this;
        }

        public Criteria andTargetnumEqualTo(String value) {
            addCriterion("targetnum =", value, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumNotEqualTo(String value) {
            addCriterion("targetnum <>", value, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumGreaterThan(String value) {
            addCriterion("targetnum >", value, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumGreaterThanOrEqualTo(String value) {
            addCriterion("targetnum >=", value, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumLessThan(String value) {
            addCriterion("targetnum <", value, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumLessThanOrEqualTo(String value) {
            addCriterion("targetnum <=", value, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumLike(String value) {
            addCriterion("targetnum like", value, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumNotLike(String value) {
            addCriterion("targetnum not like", value, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumIn(List<String> values) {
            addCriterion("targetnum in", values, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumNotIn(List<String> values) {
            addCriterion("targetnum not in", values, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumBetween(String value1, String value2) {
            addCriterion("targetnum between", value1, value2, "targetnum");
            return (Criteria) this;
        }

        public Criteria andTargetnumNotBetween(String value1, String value2) {
            addCriterion("targetnum not between", value1, value2, "targetnum");
            return (Criteria) this;
        }


        public Criteria andBatchvalueIsNull() {
            addCriterion("batchvalue is null");
            return (Criteria) this;
        }

        public Criteria andBatchvalueIsNotNull() {
            addCriterion("batchvalue is not null");
            return (Criteria) this;
        }

        public Criteria andBatchvalueEqualTo(String value) {
            addCriterion("batchvalue =", value, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueNotEqualTo(String value) {
            addCriterion("batchvalue <>", value, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueGreaterThan(String value) {
            addCriterion("batchvalue >", value, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueGreaterThanOrEqualTo(String value) {
            addCriterion("batchvalue >=", value, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueLessThan(String value) {
            addCriterion("batchvalue <", value, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueLessThanOrEqualTo(String value) {
            addCriterion("batchvalue <=", value, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueLike(String value) {
            addCriterion("batchvalue like", value, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueNotLike(String value) {
            addCriterion("batchvalue not like", value, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueIn(List<String> values) {
            addCriterion("batchvalue in", values, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueNotIn(List<String> values) {
            addCriterion("batchvalue not in", values, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueBetween(String value1, String value2) {
            addCriterion("batchvalue between", value1, value2, "batchvalue");
            return (Criteria) this;
        }

        public Criteria andBatchvalueNotBetween(String value1, String value2) {
            addCriterion("batchvalue not between", value1, value2, "batchvalue");
            return (Criteria) this;
        }


        public Criteria andExevalueIsNull() {
            addCriterion("exevalue is null");
            return (Criteria) this;
        }

        public Criteria andExevalueIsNotNull() {
            addCriterion("exevalue is not null");
            return (Criteria) this;
        }

        public Criteria andExevalueEqualTo(String value) {
            addCriterion("exevalue =", value, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueNotEqualTo(String value) {
            addCriterion("exevalue <>", value, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueGreaterThan(String value) {
            addCriterion("exevalue >", value, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueGreaterThanOrEqualTo(String value) {
            addCriterion("exevalue >=", value, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueLessThan(String value) {
            addCriterion("exevalue <", value, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueLessThanOrEqualTo(String value) {
            addCriterion("exevalue <=", value, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueLike(String value) {
            addCriterion("exevalue like", value, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueNotLike(String value) {
            addCriterion("exevalue not like", value, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueIn(List<String> values) {
            addCriterion("exevalue in", values, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueNotIn(List<String> values) {
            addCriterion("exevalue not in", values, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueBetween(String value1, String value2) {
            addCriterion("exevalue between", value1, value2, "exevalue");
            return (Criteria) this;
        }

        public Criteria andExevalueNotBetween(String value1, String value2) {
            addCriterion("exevalue not between", value1, value2, "exevalue");
            return (Criteria) this;
        }


        public Criteria andErpnumIsNull() {
            addCriterion("erpnum is null");
            return (Criteria) this;
        }

        public Criteria andErpnumIsNotNull() {
            addCriterion("erpnum is not null");
            return (Criteria) this;
        }

        public Criteria andErpnumEqualTo(String value) {
            addCriterion("erpnum =", value, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumNotEqualTo(String value) {
            addCriterion("erpnum <>", value, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumGreaterThan(String value) {
            addCriterion("erpnum >", value, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumGreaterThanOrEqualTo(String value) {
            addCriterion("erpnum >=", value, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumLessThan(String value) {
            addCriterion("erpnum <", value, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumLessThanOrEqualTo(String value) {
            addCriterion("erpnum <=", value, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumLike(String value) {
            addCriterion("erpnum like", value, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumNotLike(String value) {
            addCriterion("erpnum not like", value, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumIn(List<String> values) {
            addCriterion("erpnum in", values, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumNotIn(List<String> values) {
            addCriterion("erpnum not in", values, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumBetween(String value1, String value2) {
            addCriterion("erpnum between", value1, value2, "erpnum");
            return (Criteria) this;
        }

        public Criteria andErpnumNotBetween(String value1, String value2) {
            addCriterion("erpnum not between", value1, value2, "erpnum");
            return (Criteria) this;
        }


        public Criteria andIsdeleteIsNull() {
            addCriterion("isdelete is null");
            return (Criteria) this;
        }

        public Criteria andIsdeleteIsNotNull() {
            addCriterion("isdelete is not null");
            return (Criteria) this;
        }

        public Criteria andIsdeleteEqualTo(Integer value) {
            addCriterion("isdelete =", value, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteNotEqualTo(Integer value) {
            addCriterion("isdelete <>", value, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteGreaterThan(Integer value) {
            addCriterion("isdelete >", value, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteGreaterThanOrEqualTo(Integer value) {
            addCriterion("isdelete >=", value, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteLessThan(Integer value) {
            addCriterion("isdelete <", value, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteLessThanOrEqualTo(Integer value) {
            addCriterion("isdelete <=", value, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteLike(Integer value) {
            addCriterion("isdelete like", value, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteNotLike(Integer value) {
            addCriterion("isdelete not like", value, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteIn(List<Integer> values) {
            addCriterion("isdelete in", values, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteNotIn(List<Integer> values) {
            addCriterion("isdelete not in", values, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteBetween(Integer value1, Integer value2) {
            addCriterion("isdelete between", value1, value2, "isdelete");
            return (Criteria) this;
        }

        public Criteria andIsdeleteNotBetween(Integer value1, Integer value2) {
            addCriterion("isdelete not between", value1, value2, "isdelete");
            return (Criteria) this;
        }


        public Criteria andLikeQuery(InfoContractstoreDtl record) {
            List<String> list = new ArrayList<String>();
            List<String> list2 = new ArrayList<String>();
            StringBuffer buffer = new StringBuffer();
            if (record.getId() != null && StrUtil.isNotEmpty(record.getId().toString())) {
                list.add("ifnull(id,'')");
            }
            if (record.getMainid() != null && StrUtil.isNotEmpty(record.getMainid().toString())) {
                list.add("ifnull(mainid,'')");
            }
            if (record.getCreattime() != null && StrUtil.isNotEmpty(record.getCreattime().toString())) {
                list.add("ifnull(creattime,'')");
            }
            if (record.getUpdatetime() != null && StrUtil.isNotEmpty(record.getUpdatetime().toString())) {
                list.add("ifnull(updatetime,'')");
            }
            if (record.getMemo() != null && StrUtil.isNotEmpty(record.getMemo().toString())) {
                list.add("ifnull(memo,'')");
            }
            if (record.getMatnum() != null && StrUtil.isNotEmpty(record.getMatnum().toString())) {
                list.add("ifnull(matnum,'')");
            }
            if (record.getMatname() != null && StrUtil.isNotEmpty(record.getMatname().toString())) {
                list.add("ifnull(matname,'')");
            }
            if (record.getMatunit() != null && StrUtil.isNotEmpty(record.getMatunit().toString())) {
                list.add("ifnull(matunit,'')");
            }
            if (record.getTechid() != null && StrUtil.isNotEmpty(record.getTechid().toString())) {
                list.add("ifnull(techid,'')");
            }
            if (record.getDtlmemo() != null && StrUtil.isNotEmpty(record.getDtlmemo().toString())) {
                list.add("ifnull(dtlmemo,'')");
            }
            if (record.getPrice() != null && StrUtil.isNotEmpty(record.getPrice().toString())) {
                list.add("ifnull(price,'')");
            }
            if (record.getPartmemo() != null && StrUtil.isNotEmpty(record.getPartmemo().toString())) {
                list.add("ifnull(partmemo,'')");
            }
            if (record.getMattype1() != null && StrUtil.isNotEmpty(record.getMattype1().toString())) {
                list.add("ifnull(mattype1,'')");
            }
            if (record.getMattype2() != null && StrUtil.isNotEmpty(record.getMattype2().toString())) {
                list.add("ifnull(mattype2,'')");
            }
            if (record.getMattype3() != null && StrUtil.isNotEmpty(record.getMattype3().toString())) {
                list.add("ifnull(mattype3,'')");
            }
            if (record.getTargetnum() != null && StrUtil.isNotEmpty(record.getTargetnum().toString())) {
                list.add("ifnull(targetnum,'')");
            }
            if (record.getBatchvalue() != null && StrUtil.isNotEmpty(record.getBatchvalue().toString())) {
                list.add("ifnull(batchvalue,'')");
            }
            if (record.getExevalue() != null && StrUtil.isNotEmpty(record.getExevalue().toString())) {
                list.add("ifnull(exevalue,'')");
            }
            if (record.getErpnum() != null && StrUtil.isNotEmpty(record.getErpnum().toString())) {
                list.add("ifnull(erpnum,'')");
            }
            if (record.getIsdelete() != null && StrUtil.isNotEmpty(record.getIsdelete().toString())) {
                list.add("ifnull(isdelete,'')");
            }
            if (record.getId() != null && StrUtil.isNotEmpty(record.getId().toString())) {
                list2.add("'%" + record.getId() + "%'");
            }
            if (record.getMainid() != null && StrUtil.isNotEmpty(record.getMainid().toString())) {
                list2.add("'%" + record.getMainid() + "%'");
            }
            if (record.getCreattime() != null && StrUtil.isNotEmpty(record.getCreattime().toString())) {
                list2.add("'%" + record.getCreattime() + "%'");
            }
            if (record.getUpdatetime() != null && StrUtil.isNotEmpty(record.getUpdatetime().toString())) {
                list2.add("'%" + record.getUpdatetime() + "%'");
            }
            if (record.getMemo() != null && StrUtil.isNotEmpty(record.getMemo().toString())) {
                list2.add("'%" + record.getMemo() + "%'");
            }
            if (record.getMatnum() != null && StrUtil.isNotEmpty(record.getMatnum().toString())) {
                list2.add("'%" + record.getMatnum() + "%'");
            }
            if (record.getMatname() != null && StrUtil.isNotEmpty(record.getMatname().toString())) {
                list2.add("'%" + record.getMatname() + "%'");
            }
            if (record.getMatunit() != null && StrUtil.isNotEmpty(record.getMatunit().toString())) {
                list2.add("'%" + record.getMatunit() + "%'");
            }
            if (record.getTechid() != null && StrUtil.isNotEmpty(record.getTechid().toString())) {
                list2.add("'%" + record.getTechid() + "%'");
            }
            if (record.getDtlmemo() != null && StrUtil.isNotEmpty(record.getDtlmemo().toString())) {
                list2.add("'%" + record.getDtlmemo() + "%'");
            }
            if (record.getPrice() != null && StrUtil.isNotEmpty(record.getPrice().toString())) {
                list2.add("'%" + record.getPrice() + "%'");
            }
            if (record.getPartmemo() != null && StrUtil.isNotEmpty(record.getPartmemo().toString())) {
                list2.add("'%" + record.getPartmemo() + "%'");
            }
            if (record.getMattype1() != null && StrUtil.isNotEmpty(record.getMattype1().toString())) {
                list2.add("'%" + record.getMattype1() + "%'");
            }
            if (record.getMattype2() != null && StrUtil.isNotEmpty(record.getMattype2().toString())) {
                list2.add("'%" + record.getMattype2() + "%'");
            }
            if (record.getMattype3() != null && StrUtil.isNotEmpty(record.getMattype3().toString())) {
                list2.add("'%" + record.getMattype3() + "%'");
            }
            if (record.getTargetnum() != null && StrUtil.isNotEmpty(record.getTargetnum().toString())) {
                list2.add("'%" + record.getTargetnum() + "%'");
            }
            if (record.getBatchvalue() != null && StrUtil.isNotEmpty(record.getBatchvalue().toString())) {
                list2.add("'%" + record.getBatchvalue() + "%'");
            }
            if (record.getExevalue() != null && StrUtil.isNotEmpty(record.getExevalue().toString())) {
                list2.add("'%" + record.getExevalue() + "%'");
            }
            if (record.getErpnum() != null && StrUtil.isNotEmpty(record.getErpnum().toString())) {
                list2.add("'%" + record.getErpnum() + "%'");
            }
            if (record.getIsdelete() != null && StrUtil.isNotEmpty(record.getIsdelete().toString())) {
                list2.add("'%" + record.getIsdelete() + "%'");
            }
            buffer.append(" CONCAT(");
            buffer.append(StrUtil.join(",", list));
            buffer.append(")");
            buffer.append(" like CONCAT(");
            buffer.append(StrUtil.join(",", list2));
            buffer.append(")");
            if (!" CONCAT() like CONCAT()".equals(buffer.toString())) {
                addCriterion(buffer.toString());
            }
            return (Criteria) this;
        }

        public Criteria andLikeQuery2(String searchText) {
            List<String> list = new ArrayList<String>();
            StringBuffer buffer = new StringBuffer();
            list.add("ifnull(id,'')");
            list.add("ifnull(mainid,'')");
            list.add("ifnull(creattime,'')");
            list.add("ifnull(updatetime,'')");
            list.add("ifnull(memo,'')");
            list.add("ifnull(matnum,'')");
            list.add("ifnull(matname,'')");
            list.add("ifnull(matunit,'')");
            list.add("ifnull(techid,'')");
            list.add("ifnull(dtlmemo,'')");
            list.add("ifnull(price,'')");
            list.add("ifnull(partmemo,'')");
            list.add("ifnull(mattype1,'')");
            list.add("ifnull(mattype2,'')");
            list.add("ifnull(mattype3,'')");
            list.add("ifnull(targetnum,'')");
            list.add("ifnull(batchvalue,'')");
            list.add("ifnull(exevalue,'')");
            list.add("ifnull(erpnum,'')");
            list.add("ifnull(isdelete,'')");
            buffer.append(" CONCAT(");
            buffer.append(StrUtil.join(",", list));
            buffer.append(")");
            buffer.append("like '%");
            buffer.append(searchText);
            buffer.append("%'");
            addCriterion(buffer.toString());
            return (Criteria) this;
        }

    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}